1. Technical Field
The present invention relates to a method and system for supporting the generation of a program, and componenticularly to a method of integrating program components into a program construction (development) support system. More specifically, the invention relates to a method which integrates program components, adding a new function to the function that the program component inherently has.
2. Prior Art
When a programmer generates an application program by an interactive program generation support system, such as Visual Basic (trademark of Microsoft), the system provides program components to support the generation. FIGS. 13, 14 are diagrams showing the form of utilization of conventional program components.
In the aforementioned example as FIG. 13, there is provided a program component 230 constituted by a button icon 203. The example includes variable information (x, y) to define a position at which a button icon is displayed and variable information (w, h) to define the width and height of a button icon, as property 231, and further includes information about "move(x, y)" which indicates that the button icon is moved to a specified position of (x, y) and information about "resize(w, h)" which changes the button icon to a specified size of (w, h), as method 233.
If the aforementioned program component is positioned on an application window 320 and a value of the property is set by a property editor described later, an interpreter will interpret the two pieces of information and a button icon will be displayed according to the property value set on the application window 320.
However, in the program components provided in the conventional technique, the properties and methods are previously given and usable properties and methods are limited. The conventional technique, therefore, cannot meet a variety of programmer's demands, such as "Wanting to attach a plurality of labels to a button component (in a conventional program support system, only a single label is usually given to one button of program components)" and "Wanting to change the size of a button in correspondence with the number of characters of a label that is attached to the button (in a conventional program support system, normally the button size is defined by a fixed value but cannot be defined by a function value)." Thus, there are a great number of limitations on the programming operation using program components.
The conventional program component is provided only to a graphical object which is visually displayed as a graphic figure, such as a button icon and a ruler bar, but it is not provided to a non-graphical object which is described by using characters and symbols by a code editor described later. For this reason, the programmer needs to make a program by uniting and describing a plurality of instructions constituted by a programming language which performs a coding operation. In addition, when making another program, such description cannot be reused, so there is the need to perform nearly the same coding operation again. Even in the coding operation using subroutines, the management of the characteristic variables of an object becomes complicated and the reutilization is not easy, because each subroutine cannot hold a state as does a program component.
In connection with the aforementioned problems, Published Unexamined Patent Application No. 7-28636 has proposed a graphical user interface construction support system, using a table where an input operation and a visual object are correlated. However, since the graphical user interface construction support system presents a candidate for a visual object in order of the higher degree of compatibility to the input operation in order to indicate what degree the visual object in the application program corresponding to each input operation of a user is compatible with the input operation, the selection of program components can be performed quickly, but the function itself of program components cannot be extended.
Also, Published Unexamined Patent Application No. 7-219753 has proposed an interactive program development support system which enhances development efficiency by using, as a resource, component of a callback function which instructs an operation that executes an event generated when a button icon is depressed with the pointer of a pointing device. This support system can change the content of a process that is executed by the method, but it cannot add a new method. Therefore, the system cannot meet a variety of programmer's demands such as "Wanting to change the size of a button in correspondence with the number of characters of a label that is attached to the button."
Furthermore, Published Unexamined Patent Application No. 4-353926 has proposed a system where an interactive component-defining body input operation and a visual object are correlated with a table. However, in this system a method is previously correlated with the interactive component and the method is customized, so the method desired by the user cannot be added to the interactive component. This system, therefore, cannot satisfy a variety of programmer's demands, such as "Wanting to attach a plurality of labels" and "Wanting to change the size of a button in correspondence with the number of characters of a label that is attached to the button" and also the system cannot define a non-graphical object as a program component.